<?php
function get($file_name){
    if(!file_exists("cache/".$file_name)){
        read($file_name);
    }
    $data=file_get_contents("cache/".$file_name);
    return unserialize($data);
}


function read($file_name){
    $counter=file_get_contents("sources/".$file_name); //-------read the file into a string.-------
    //正在匹配章节目录（说明：匹配章节的标志是“第...章....换行符”，如果下载的文本不符合这一规律，则无法匹配到）
    preg_match_all('/第([\\s\\S]{1,20})章 ([\\s\\S]*?)\\r\\n/',$counter,$result);

    if($result[0]){
        $arr=array();
        for ($i=0; $i <count($result[0])-1 ; $i++) {
            //每章节数字
            $arr[$i]['num']=$result[1][$i];
            //每章节标题
            $arr[$i]['title']=$result[2][$i];
            //每章节正文
            preg_match_all('/'.$result[0][$i].'([\\s\\S]*?)'.$result[0][$i+1].'/',$counter,$content);
            $arr[$i]['content']=trim($content[1][0]);
        }
    }
    //最后一章节
    $arr[]['num']=$result[1][count($result[0])-1];
    $arr[count($arr)-1]['title']=$result[2][count($result[0])-1];
    preg_match_all('/'.$result[0][count($result[0])-1].'([\\s\\S]*?)$/',$counter,$content);
    $arr[count($arr)-1]['content']=trim($content[1][0]);
    $cache=fopen("cache/".$file_name,"w+");
    fwrite($cache,serialize($arr));
    fclose($cache);
}
?>
